package ProyectoX;

import java.awt.geom.Area;

import javax.swing.*;

/**
 * Clase abstracta Dibujable extiende JLabel
 * */
public abstract class Dibujable extends JLabel  {
	
	/**
	 * Constructor Dibujable
	 * */
	public Dibujable(){}
	
	/**
	 * Metodo Mover Abstracto
	 * */
	protected abstract void Mover(int i);
	
	/**
	 * Metodo Mover Abstracto
	 * */
	public abstract void Mover();
	
	/**
	 * Metodo estaEnPantalla Abstracto
	 * */
	public abstract boolean estaEnPantalla ();
	
	/**
	 * Retorna verdadero si los dos objetos colisionan
	 * Falso en caso contrario
	 * */
	public boolean alcanzoObjeto(Dibujable d) {
		if(d!=null){
			Area area1 = new Area(this.getBounds());
			Area area2 = new Area(d.getBounds());
			return area1.intersects(area2.getBounds2D());
		}
		else
			return false;
	}

}